package com.ctshk.rpc.scenic.dto.app;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@SuppressWarnings(value = "all")
@Data
@ApiModel(value = "ScenicProductEsDTO对象", description = "景区景点门票缓存ES对象")
public class ScenicProductEsDTO implements Serializable {
    @ApiModelProperty(value = "渠道ID")
    private Long channelId;
    @ApiModelProperty(value = "渠道名称")
    private String channelName;
    @ApiModelProperty(value = "策略ID")
    private Long strategyId;
    @ApiModelProperty(value = "策略名称")
    private String strategyName;
    @ApiModelProperty(value = "产品ID")
    private Long productId;
    @ApiModelProperty(value = "产品名称")
    private String productName;
    @ApiModelProperty(value = "是否推荐")
    private Integer isRecommend;
    @ApiModelProperty(value = "景点ID")
    private Long scenicId;
    @ApiModelProperty(value = "城市ID")
    private Long cityId;
    @ApiModelProperty(value = "城市名称")
    private String cityName;
    @ApiModelProperty(value = "产品描述")
    private String productIntroduces;
    @ApiModelProperty(value = "主题JSON")
    private String themeJson;
    @ApiModelProperty(value = "图片JSON")
    private String photosJson;
    @ApiModelProperty(value = "预订服务费类型")
    private Integer reserveChargeType;
    @ApiModelProperty(value = "预订服务费")
    private BigDecimal reserveCharge;
    @ApiModelProperty(value = "加幅类型")
    private Integer adjustType;
    @ApiModelProperty(value = "加幅金额")
    private BigDecimal amount;
    @ApiModelProperty(value = "加幅百分比")
    private Double precent;
    @ApiModelProperty(value = "销售开始时间")
    private LocalDateTime saleTimeBegin;
    @ApiModelProperty(value = "销售结束时间")
    private LocalDateTime saleTimeEnd;
    @ApiModelProperty(value = "产品修改时间")
    private LocalDateTime gmtModified;
    @ApiModelProperty(value = "上架状态")
    private Integer status;
    @ApiModelProperty(value = "售卖状态")
    private Integer saleStatus;
    @ApiModelProperty(value = "产品删除状态")
    private Integer isDeleted;
    @ApiModelProperty(value = "产品成本价")
    private BigDecimal costPrice;
    @ApiModelProperty(value = "汇率")
    private Double exchangeRate;
    @ApiModelProperty(value = "门票类型")
    private String attr2Name;
    @ApiModelProperty(value = "门票规格")
    private String attr1Name;
    @ApiModelProperty(value = "已销售数量")
    private Integer soldStock;
    @ApiModelProperty(value = "负责人ID")
    private Long chargeUserId;
    @ApiModelProperty(value = "负责人名称")
    private String chargeUser;
    @ApiModelProperty(value = "供应商ID")
    private Long supplierId;
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;
    @ApiModelProperty(value = "是否需要填写证件信息")
    private Integer needInfo;
    @ApiModelProperty(value = "入园须知")
    private String admissionNotes;
    @ApiModelProperty(value = "预订后是否可退")
    private Integer allowRefund;
    @ApiModelProperty(value = "封面图地址")
    private String coverImage;
    @ApiModelProperty(value = "产品分类名称")
    private String productTypeName;
    @ApiModelProperty(value = "规格ID")
    private Long attrId;
    @ApiModelProperty(value = "有效期类型")
    private Integer validType;
    @ApiModelProperty(value = "几日有效期")
    private Double validDay;
    @ApiModelProperty(value = "有效期起始")
    private LocalDateTime validDayBegin;
    @ApiModelProperty(value = "有效期截至")
    private LocalDateTime validDayEnd;
    @ApiModelProperty(value = "取消政策")
    private Integer cancelPolicy;
    @ApiModelProperty(value = "景点图列表")
    private String scenicPhotoJson;
    @ApiModelProperty(value = "景点图地址名称")
    private String scenicLocation;
    @ApiModelProperty(value = "维度")
    private BigDecimal lat;
    @ApiModelProperty(value = "经度")
    private BigDecimal lon;
}
